// 关于本地存储的二次封装

// 获取本地数据
export const getItem = key => {
  // 从本地把 数据取出来
  const data = localStorage.getItem(key)
  // data可能是普通字符串 也可能是json字符串
  try {
    // json字符串
    return JSON.parse(data)
  } catch (err) {
    // JSON.parse 处理普通字符串会报错
    // 所以在 catch 分支总 是 普通字符串
    return data
  }
}

// 存本地数据
export const setItem = (key, value) => {
  // 如果要存的数据是对象 先调用JSON.stringify转换为字符串并重新赋值给value
  // 否则不用转换  直接存储
  if (typeof value === 'object') {
    value = JSON.stringify(value)
  }
  localStorage.setItem(key, value)
}

// 移除本地数据的方法
export const removeItem = (key) => {
  localStorage.removeItem(key)
}
